%module Unix


%{
#include <unistd.h>
#include "hello-jni.h"
    
%}

typedef unsigned int uid_t;
typedef int pid_t;



/*
 常量的两种当以方式
 %javaconst控制常量事编译时还是运行时常量
 
 */
%javaconst(1);
#define MAX_WIDTH 500
%javaconst(1);
%constant int MAX_HEIGHT  = 400;


/*
 全局变量
 */
int counter;
extern uid_t getuid(void);
extern pid_t  getpid(void);




/*
 只读变量
*/

/*启用只读*/
%immutable;

extern int readOnly;


/*禁用只读模式*/
%mutable;
extern int readWrite;



/*枚举变量
 默认是%javaconst(1)生成编译时常量
 */

/*匿名枚举
enum {ONE=1, TWO, THREE};
 */


/*命名枚举*/
enum Numbers {ONE=1, TWO, THREE};


/*
%include "enum.swg"
enum Numbers {ONE=1, TWO, THREE};
 */


struct Point {
    int x;
    int y;
};



/*
 swig -java -package com.example.hellojni -outdir ../src/com/example/hellojni/ Unix.i
 */
